/*
 * All rights Reserved, Designed By cloudland Copyright(C) 2010-2014
 *
 * fileName:  Verifys.java
 * author:  lei
 * Company:  Cloudland Studio
 * Createdate:  2013-9-14 上午10:05:45
 *   
 * Modification  History:
 *     Date           Author        Version        
 * -------------------------------------------
 * 2013-9-14          Lei            1.0        
 *
 * Why & What is modified:
 * 1.0: 文件创建
 */
package org.cloudland.util;

import java.util.regex.Pattern;

 /**
 * <pre> 
 * 提供一些数据的基本验证。
 * 
 * {@link Verifys#isMobilePhone(String)}:用于验证手机号
 * {@link Verifys#isIdentityCard(String)}:用于验证身份证号
 * {@link Verifys#isMail(String)}:用于验证电子邮箱
 * </pre>
 * @ClassName  Verifys
 * @author  lei
 * @version  %I%, %G%
 * @see  
 * @since   JDK1.6
 *
 */
public class Verifys {

	/**
	 * <pre>
	 * 验证手机号是否符合规则。
	 * </pre>
	 *
	 * @param phone  手机号码
	 * @return  ture 表示符合规则   
	 */
	public static boolean isMobilePhone(final String phone) {
		String regex = "(\\+\\d+)?1[3458]\\d{9}$";
		return Pattern.matches(regex, phone);
	}
	
	/**
	 * <pre>
	 * 验证身份证号是否符合规则
	 * </pre>
	 *
	 * @param card  身份证号
	 * @return  ture 表示符合规则 
	 */
	public static boolean isIdentityCard(final String card) {
		String regex = "[1-9]\\d{13,16}[a-zA-Z0-9]{1}";
		return Pattern.matches(regex, card);
	}
	
	/**
	 * <pre>
	 * 验证Mail地址是否符合规则。
	 * </pre>
	 *
	 * @param mail  电子邮箱号
	 * @return  ture 表示符合规则 
	 */
	public static boolean isMail(final String mail) {
		String regex = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";
		return Pattern.matches(regex, mail);
	}
}
